<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>数组作业</title>
</head>

<body>
  <script>
    /* 
       1.数组方法里面的push pop unshift shift的作用分别是什么，他们的返回值又是什么？
       */

    // (1)push的作用是在数组的末尾添加一个数据，返回值为length的值
    // (2)pop的作用是删除数组最后一个数据，返回值是被删除的数据
    // (3)unshift的作用是在数组开头添加一个数据，返回值为length的值
    // (4)shift的作用是删除数组的第一个数据，返回值是被删除的数据

    /* 
      2.移除数组 arr["西瓜","香蕉","菠萝"]中除西瓜外的所有元素，不要使用第二个数组
      */

    var arr = ["西瓜", "香蕉", "菠萝"];
    arr.splice(1, 2);
    console.log(arr);



    /* 
      3.移除数组 arr[1, 2, 3, 4, 2] 中的 2。不要直接修改数组 arr，结果返回新的数组
      */

    var arr2 = [1, 2, 3, 4, 2];
    var newArr = [];
    for (var i = 0; i < arr2.length; i++) {
      if (arr2[i] !== 2) {
        newArr.push(arr2[i])
      }
    }
    console.log(newArr);

    /*
      4.定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "jack"。不要直接修改数组 arr，
      结果返回新的数组即调用函数后返回的结果为[1, 2,'jack',3, 4, 2,'jack']
       */

    // function fn() {
    //   var arr3 = [1, 2, 3, 4, 2];
    //   arr3.sort()
    //   arr3.push("jack")
    //   arr3[2] = arr3[arr3.length - 1]
    //   arr3.push("jack")
    //   arr3[arr3.length - 2] = arr3[1]
    //   return arr3
    // }
    // console.log(fn());

    var arr3 = [1, 2, 3, 4, 2];
    var newArr2 = []
    function fn(arr, num, str) {
      for (var i = 0; i < arr3.length; i++) {
        if (arr3[i]===num) {
          newArr2.push(arr3[i],str)
        }else{
          newArr2.push(arr3[i])
        }
      }
      return newArr2
    }

    console.log(fn(arr3,2,"jack"));

    /*
       5.统计数组 arr[1, 2, 3, 4, 2] 中 2 出现的次数
       */

    var arr4 = [1, 2, 3, 4, 2]
    var res = 0;
    for (var i = 0; i < arr4.length; i++) {
      if (arr4[i] === 2) {
        res += 1
      };
    }
    console.log(res);
  </script>
</body>

</html>